Create a new directory in "[Abakt-install-dir]\locale\".
Name it the two-letter language code for the translation you want to make. See the 639-1 column on page http://www.loc.gov/standards/iso639-2/langcodes.html for an
overview of the two-letter language codes.
In this directory create a subdirectory "LC_MESSAGES" and
copy "locale\en\LC_MESSAGES\default.po" (see Requirements) to the new directory.
Open the new copy of "default.po" in poEdit, translate some text and save it.
Open Abakt and tell it to use your translation (Preferences), then restart Abakt.
When you have restarted Abakt you should be able to see the translations you made.
It is not necessary to recompile Abakt.
Update an existing translation (example)
- This example requires dxgettext.
- Dutch (nl) is used in this example, replace it with the language you are working on.
Right-click '[Abakt-install-dir]\locale\nl\default.po' in Windows Explorer and choose 'Merge template'.
Merge it with Translation template: '[Abakt-install-dir]\locale\en\default.po'
Now you have updated the Dutch (nl) translation to the latest English (en) default.po file.
Edit the updated NL translation with poEdit and save it.
Test your updated translation.
Send your (incomplete) translation to me
I need two files: 'default.mo' and 'default.po':
'default.mo' is the compiled translation that will be distributed with Abakt's setup.
It contains your name and e-mail (shown in the About window).
'default.po' contains both the original English text and your translation.
This file will be included in Abakt's source.
Please mention the version of Abakt for which you made a translation.
Important Notes
Some strings do not have to be translated.
In the English default.po file these strings have already been translated into themselves.
It may be difficult to maintain the shortcuts (Add = Alt+A) present in the English version.
You can change these shortcuts to accomodate your translation, just make sure there are no conflicts.
Some buttons or text-fields may be too small to display text in your language.
Let me know if you encounter any problems.
Updated translations may be available for
download.
Language
Status (Abakt version)
Danish [da]
usable
Dutch [nl]
complete (0.9.1)
English [en]
default language
French [fr]
complete (0.9.1)
German [de]
complete (0.9.1)
Hungarian [hu]
complete (0.9.0)
Italian [it]
complete (0.9.1)
Polish [pl]
complete (0.9.1)
Spanish [es]
in progress: 50%
Swedish [sv]
complete (0.9.1)
Status "complete" means most of the translation is finished (very usable). Status "usable" means a translation is not 100% complete, it is 80% or higher.
How to compile Abakt
Step-by-step instructions
You need Borland C++Builder 6 (BCB6).
Abakt 0.9.2:
Install ZipBuilder (the new zip-library I use). Get it from http://home.tiscali.be/driehoeksw/.
This library is free (LGPL license). Read the included instructions on how to install TZipBuilder in BCB. Abakt 0.9.1 (and older):
Install ZipForge (the zip-library I use). Get it from http://www.componentace.com/.
Binary installers are available for the Free Personal Edition (nag-screen, distribution is not allowed).
Registration is required.
Install the ecc library (classes and functions I use regularly)
Read the instructions on how to compile/install ecc.
BCB6: Open project file "Abakt\Source\abakt\Abakt.bpr".
Build it.
This produces the file "Abakt\Abakt.exe".
Abakt requires "expat.dll" (see below), which should be in the same directory as Abakt.exe.
With translations enabled
The global conditional 'ABT_TRANSLATE' should be set (this is the default setting in Abakt.bpr).
BCB6: Edit Project|Options|Directories/Conditionals to change this.
If 'ABT_TRANSLATE' is not set, the compilation results in an English version of Abakt.exe with translations disabled.
Make sure that 'gnugettext.pas' ('Source\abakt\') is included in the project, this will create 'gnugettext.obj'.
This .pas file is not included by default because it considerably slows down compilation cycles.
It is not necessary to rebuild Abakt to make new or modified translations effective.
Build and make use of expat.dll
Abakt uses 'expat.dll' to parse XML files (.abp, .abg, etc.).
Expat is a SAX-style XML-parser written in C.
Visit the libexpat homepage for more information.
Following is a description of how to build your own 'expat.dll' using Borland C++Builder 6 (BCB6). Tested with expat-1.95.7 and expat-1.95.8.
Step-by-step instructions
Download and install the latest expat release, named "expat_win32bin".
Available from: http://sourceforge.net/projects/expat/
The directory where you installed this release will be called [install_dir] from now on.
Execute setup.bat in "[install_dir]\Source\bcb5".
This will create directories that are required to build the dll.
BCB6: Open "[install_dir]\Source\bcb5\expat.bpr".
The project will be automatically updated from BCB5 to BCB6.
The project's name is "expat.dll".
BCB6: Go to "Project | Options | Linker".
Uncheck "Linking | Use dynamic RTL". Press OK.
BCB6: Build the project: "Project | Build expat".
Four warnings will be displayed ("Comparing signed and unsigned values"). That's ok.
Do "File | Save All". The project will be saved as "expat.bpr".
Now you can exit BCB or close "expat.bpr".
Start Windows Explorer.
Go to directory "[install_dir]\Source\bcb5\release\".
Copy "expat.lib" to "\Abakt\Lib\expat.lib".
Copy "expat.dll" to "\Abakt\expat.dll".
Go to directory "[install_dir]\Source\lib\".
Copy the header files ("*.h") to "\Abakt\Source\expat\".
The other files are not necessary.
To automatically load expat.dll, Abakt needs "\Abakt\Lib\expat.lib" added to the project.
And also an "#include expat.h" directive where needed.